﻿namespace System
{
    [NonScript]
    public static class Function
    {
        public static Action Bind(this Action act, object target)
        {
            return null;
        }

        public static Action<T1> Bind<T1>(this Action<T1> act, object target)
        {
            return null;
        }

        public static Action<T1, T2> Bind<T1, T2>(this Action<T1, T2> act, object target)
        {
            return null;
        }

        public static Action<T1, T2, T3> Bind<T1, T2, T3>(this Action<T1, T2, T3> act, object target)
        {
            return null;
        }

        public static Action<T1, T2, T3, T4> Bind<T1, T2, T3, T4>(this Action<T1, T2, T3, T4> act, object target)
        {
            return null;
        }

        public static Action<T1, T2, T3, T4, T5> Bind<T1, T2, T3, T4, T5>(this Action<T1, T2, T3, T4, T5> act, object target)
        {
            return null;
        }

        public static Action<T1, T2, T3, T4, T5, T6> Bind<T1, T2, T3, T4, T5, T6>(this Action<T1, T2, T3, T4, T5, T6> act, object target)
        {
            return null;
        }

        public static Func<R> Bind<R>(this Func<R> act, object target)
        {
            return null;
        }

        public static Func<R, T1> Bind<R, T1>(this Func<R, T1> act, object target)
        {
            return null;
        }

        public static Func<R, T1, T2> Bind<R, T1, T2>(this Func<R, T1, T2> act, object target)
        {
            return null;
        }

        public static Func<R, T1, T2, T3> Bind<R, T1, T2, T3>(this Func<R, T1, T2, T3> act, object target)
        {
            return null;
        }

        public static Func<R, T1, T2, T3, T4> Bind<R, T1, T2, T3, T4>(this Func<R, T1, T2, T3, T4> act, object target)
        {
            return null;
        }

        public static Func<R, T1, T2, T3, T4, T5> Bind<R, T1, T2, T3, T4, T5>(this Func<R, T1, T2, T3, T4, T5> act, object target)
        {
            return null;
        }

        public static Func<R, T1, T2, T3, T4, T5, T6> Bind<R, T1, T2, T3, T4, T5, T6>(this Func<R, T1, T2, T3, T4, T5, T6> act, object target)
        {
            return null;
        }
    }
}
